Midamble for WLAN PHY frames

ABSTRACT

In a method for generating a single data unit for transmission via a communication channel, a preamble and a first portion of a data payload of the single data unit are generated. A midamble is generated, the midamble including at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol that includes calibration information. A second portion of the data payload of the single data unit is generated, and the midamble is included between the first portion of the data payload and the second portion of the data payload.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional Application No. 61/228,084, entitled “MIMO-OFDM Midamble for Long Packets in WLAN,” which was filed on Jul. 23, 2009, the entire disclosure of which is hereby incorporated by reference herein.

FIELD OF TECHNOLOGY

The present disclosure relates generally to communication systems and, more particularly, to wireless local area networks.

BACKGROUND

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

Wireless local area network (WLAN) technology has evolved rapidly over the past decade. Development of WLAN standards such as the Institute for Electrical and Electronics Engineers (IEEE) 802.11a, 802.11b, 802.11g, and 802.11n Standards has improved single-user peak data throughput. For example, the IEEE 802.11b Standard specifies a single-user peak throughput of 11 megabits per second (Mbps), the IEEE 802.11a and 802.11g Standards specify a single-user peak throughput of 54 Mbps, and the IEEE 802.11n Standard specifies a single-user peak throughput of 600 Mbps. Work has begun on a new standard, IEEE 802.11ac, that promises to provide even greater throughput

SUMMARY

In one embodiment, a method for generating a single data unit for transmission via a communication channel includes generating a preamble of the single data unit, and generating a first portion of a data payload of the single data unit. The method also includes generating a midamble, the midamble including at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol that includes calibration information, and generating a second portion of the data payload of the single data unit. Additionally, the method comprises including the midamble between the first portion of the data payload and the second portion of the data payload.

In another embodiment, a method of receiving a single data unit via a communication channel includes receiving a preamble of the single data unit, and updating a first characteristic based on the preamble. Additionally, the method includes receiving a first portion of a data payload of the single data unit, and receiving a midamble of the single data unit, the midamble including at least one OFDM symbol that includes calibration information. Also, the method includes receiving a second portion of the data payload. Further, the method includes at least one of 1) updating the first characteristic based on the midamble, or 2) updating a second characteristic based on the midamble.

In yet another embodiment, a processor to generate data units for transmission via a plurality of antennas comprises a midamble generator. The processor is configured to generate a preamble of a single data unit, and generate a first portion of a data payload of the single data unit. The processor is additionally configured to generate, via the midamble generator, a midamble of the single data unit, wherein the midamble includes at least one OFDM symbol including calibration information. The processor is further configured to generate a second portion of the data payload of the single data unit, and include the midamble between the first portion of the data payload and the second portion of the data payload.

In still another embodiment, a processor is configured to update a first characteristic based on a preamble of a single data unit received via a plurality of antennas. Also, the processor is configured to at least one of 1) update the first characteristic based on a midamble of the single data unit located between a first portion of a data payload of the single data unit and a second portion of the data payload, or 2) update a second characteristic based on the midamble. The midamble includes at least one OFDM symbol that includes calibration information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a block diagram of an example wireless local area network (WLAN) communication system in which devices exchange information including midambles, according to an embodiment;

FIG. 2A is a diagram of a prior art data unit format used in a WLAN communication system in which all devices support only a single space-time stream;

FIG. 2B is a diagram of a prior art data unit format used in a mixed-mode of operation in a WLAN communication system in which some devices support only a single space-time stream, and other devices support at least two space-time streams;

FIG. 2C is a diagram of a prior art data unit format used in a WLAN communication system in which all devices support at least two space-time streams;

FIG. 3 is diagram of an example format of a single data unit that includes midambles and is used in a WLAN communication system in which some devices support at least two very high throughput space-time streams, according to an embodiment;

FIG. 4 is a diagram of an example generalized format of a midamble, according to an embodiment;

FIG. 5 is a diagram of an example format of a midamble, according to an embodiment;

FIG. 6 is an example of space-frequency interleaving, according to an embodiment;

FIG. 7 is an embodiment of block diagram of an example subsystem of a network interface, according to an embodiment;

FIG. 8 is a block diagram of an example physical layer (PHY) midamble generator used to generate midambles according to various embodiments of the present disclosure;

FIG. 9 is a flow diagram of an example method for generating a single data unit including a midamble for transmission via a communication channel, according to an embodiment; and

FIG. 10 is a flow diagram of an example method for receiving a single data unit including a midamble via a communication channel, in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

In embodiments described below, wireless network devices such as an access point (AP) and client devices of a wireless local area network (WLAN) transmit data streams between the AP and the client devices. To enable receiving devices to properly demodulate data portions of data units, transmitting devices include training fields, generated so as to enable accurate estimation of the MIMO (Multiple-Input Multiple-Output) channel, in the physical layer (PHY) preamble of at least some of the data units. For data units with very long data portions or payloads, or when desired, transmitting devices include training fields in a PHY midamble in at least some of the data units. In particular, a wireless network device transmits a midamble between portions of a data payload of a single data unit, so as to enable accurate estimation or to perform sounding of the MIMO channel during the transmission of the data payload of the single data unit. A device that receives a midamble in a single data unit uses the information included in the midamble to estimate or calibrate to the channel whilst processing portions the data payload of the single data unit.

FIG. 1 is a block diagram of an example WLAN 10 in which devices such as an AP 14 and client devices 25 exchange information using OFDM (Orthogonal Frequency-Division Multiplexing) techniques in a MIMO mode, according to an embodiment. The AP 14 includes a host processor 15 coupled to a network interface 16. The network interface 16 includes a medium access control (MAC) unit 18 and a physical layer unit 20. The PHY unit 20 includes a plurality of transceivers 21, each associated with a corresponding RF (Radio Frequency) chain (not shown), and the transceivers are coupled to N antennas 24. In general, the AP 14 can include different numbers (e.g., 1, 2, 4, 5, 6, 8, etc.) of transceivers 21 and antennas 24 in other embodiments. In one embodiment, the MAC unit 18 and the PHY unit 20 are configured to operate according to a communication protocol generally similar to the IEEE 802.11ac Standard (now in the process of being standardized), for example, and capable of supporting longer data payloads in data units as compared to data units specified by the IEEE 802.11a Standard or the IEEE 802.11n Standard, for example. In another embodiment, the MAC unit 18 and the PHY unit 20 are configured to operate according to another communication protocol different than the IEEE 802.11ac Standard, but that supports or specifies data units having midambles. Hereinafter, for convenience, a communication protocol that supports or specifies data units with midambles is referred to herein as a “midamble protocol” or a “midamble communication protocol.” In these embodiments, the PHY unit 20 is configured to generate and receive midambles in data units. In another embodiment, the MAC unit 18 and the PHY unit 20 are also configured to operate according to communication protocols such as the IEEE 802.11n Standard and/or the IEEE 802.11a Standard in addition to the midamble protocol. As is known, devices that operate according to the IEEE 802.11n Standard support MIMO channels with at most four space-time streams, and devices that operate according to the IEEE 802.11a Standard do not necessarily support MIMO. The IEEE 802.11a Standard is referred to herein as a “legacy protocol” or “legacy communication protocol,” and the IEEE 802.11n Standard is referred to herein a “high throughput” (HT) protocol, which is also a legacy communication protocol.

A client device 25-1 includes a host processor 26 coupled to a network interface 27. The network interface 27 includes a MAC unit 28 and a PHY unit 29. The PHY unit 29 includes a plurality of transceivers 30, and the transceivers are coupled to a plurality of antennas 34. Although three transceivers 30 and three antennas 34 are illustrated in FIG. 1, the client device 25-1 can include different numbers (e.g., 1, 2, 4, 5, etc.) of transceivers 30 and antennas 34 in other embodiments. The transceiver(s) 30 is/are configured to transmit the generated data units via the antenna(s) 34. Similarly, the transceiver(s) 30 is/are configured to receive data units via the antenna(s) 34. The PHY unit 29 of the client device 25-1 is configured to process received data units conforming to the midamble communication protocol and having formats described hereinafter, and to determine that such data units conform to the midamble communication protocol, according to various embodiments. As discussed in more detail below, the PHY unit 29 in some embodiments is capable of generating and receiving midambles in PHY data units for re-estimating and/or re-calibrating a MIMO channel during the processing of a long data payload of a single PHY data unit.

In an embodiment, one or both of the client devices 25-2 and 25-3 has a structure the same as or similar to the client device 25-1. In these embodiments, the client devices 25 structured like the client device 25-1 have the same or a different number of transceivers and antennas. For example, the client device 25-2 has only two transceivers and two antennas, according to an embodiment.

According to an embodiment, the client station 25-4 is a legacy client station, i.e., the client station 25-4 is not enabled to receive and fully decode a data unit that is transmitted by the AP 14 or another client station 25 according to the midamble protocol. Similarly, according to an embodiment, the legacy client station 25-4 is not enabled to transmit data units according to the midamble protocol. On the other hand, the legacy client station 25-4 is enabled to receive and fully decode and transmit data units according to one or several legacy communication protocols, via which channel estimation is conducted once per data unit based on a preamble.

In some scenarios, transmitting devices generate data units that do not include a data payload and that are for “sounding” the MIMO channel. These sounding data units are referred to herein as null- or no-data packets (NDPs). In other scenarios, transmitting devices generate data units that include a preamble portion with information sufficient for estimating a MIMO channel with N>4 space-time streams, and a payload portion for which less than N space-time streams are used (e.g., the preamble includes data training fields and extension training fields, respectively). In other words, these data units “sound” one or several MIMO channel dimensions in addition to the MIMO channel dimensions used to transmit the data unit payload. These data units are referred to herein as “staggered” data units or staggered sounding packets with N_(STS) space-time streams used for data payload transfer and N_(ESS) additional space-time streams being sounded. In still other scenarios, transmitting devices generate data units in which the preamble portions include only fields that are necessary to estimate the space-time streams used to deliver data payload portions of the data units, and do not include fields to probe or sound additional MIMO channel dimensions (sometimes referred to herein as “additional space-time streams”).

With respect to preambles and midambles, at least some of the devices operating in the WLAN 10 apply a different vector of a matrix P to each training field to be transmitted in a PHY preamble or midamble. The matrix P, often referred to as a channel training matrix, a channel estimating matrix, a pilot matrix, or a preamble permutation matrix, maps symbols to space-time streams. The space-time streams are then mapped to transmit chains using an antenna map or spatial mapping matrix Q. According to some embodiments, a transmitting device generates several blocks of training fields in a preamble or midamble using a separate matrix P and/or a separate spatial mapping matrix Q for each block. In this manner, the preamble or midamble is generated so as to allow a receiving device to estimate the MIMO channel between the transmitting device and the receiving device, and accordingly demodulate transmitted data payload.

A transmitting device generates and transmits a preamble of a data unit, and channel estimation is performed at a receiving device based on the received preamble. For midamble protocol data units that have long data payloads, or when desired, the transmitting device generates one or more additional blocks of training fields in a midamble that is transmitted between a first portion of a data payload and a second portion of a data payload, wherein the first and second portions of the data payload are part of a single PHY data unit. The midamble may use the same or a different matrix P for each block of the midamble, and the one or more P matrices used in the midamble may be the same or may be different than the one or more P matrices used in the preamble. In this manner, the midamble allows a receiving device to update an estimate or a calibration of the MIMO channel more than one time per data unit. In some embodiments, additional midambles may be interspersed between different, additional data payload portions, which are all part of the same single PHY data unit. Thus, devices according to at least some embodiments of techniques set forth in the present disclosure are capable of communicating data units with relatively long data payloads (as compared to payloads according to the IEEE 802.11a/n Standards), and readjusting or updating characteristics to estimate the channel and to improve channel quality both at the onset of a data unit (e.g., based on the preamble) and during the transmission of the data portion of the data unit (e.g., based on one or more midambles).

Depending on the embodiment, every element of a P matrix is either 1 or −1, an integer not limited to 1 or −1, or a complex number such as corresponding to a discrete Fourier transform. Different ranges of values used to define a P matrix are associated with different levels of computational complexity and bandwidth utilization.

To better explain the formats of data units used by devices in the WLAN 10 or a similar communication network that supports the midamble protocol according to embodiments of the present disclosure, FIGS. 2A-C illustrate several prior art formats of data units consistent with legacy communication protocols. In the formats of FIGS. 2A-C, a short training field (STF) is used for packet detection, automatic gain control (AGC), synchronization, etc.; a long training field (LTF) is used for channel estimation and fine synchronization; a signal field (SIG) is used for signaling basic PHY parameters to receiving devices; and a data payload field (DATA), when included, is used to communicate payload data to the receiving devices. The SIG field generally includes a modulation and coding scheme (MCS) sub-field, and the information in the DATA field is modulated and encoded using MIMO-OFDM in accordance with the modulation and the encoding indicated by the MCS sub-field.

FIG. 2A is a diagram of a prior art data unit 60 that the legacy client station 25-4 is configured to transmit to the AP 14 via OFDM modulation, in an embodiment. The data unit 60 conforms to the IEEE 802.11a Standard and occupies a 20 Megahertz (MHz) band. The data unit 60 includes a preamble having a legacy short training field (L-STF) 62, a legacy long training field (L-LTF) 64, and a legacy signal field (L-SIG) 66. The data unit 60 also includes a data payload or portion 68.

FIG. 2B is a diagram of a prior art OFDM data unit 78 that the legacy client station 25-4 is configured to transmit to the AP 14 using two space-time streams for a data portion, according to an embodiment. The data unit 78 conforms to the IEEE 802.11n Standard, occupies a 20 MHz band, and is designed for mixed mode situations, i.e., when the WLAN includes one or more client stations that conform to the IEEE 802.11a Standard but not to the IEEE 802.11n Standard. The data unit 78 includes a legacy preamble portion having an L-STF 80, an L-LTF 81, an L-SIG 82, and a high throughput signal field (HT-SIG) 83. The data unit 78 also includes a high-throughput portion (shaded for clarity of illustration) having a high throughput short training field (HT-STF) 84, two data high throughput long training fields (HT-LTFs) 85-1 and 85-2, and a data payload or portion 87.

FIG. 2C is a diagram of a prior art OFDM data unit 90 that the legacy client station 25-4 is configured to transmit to the AP 14 using two space-time streams for a data portion, according to an embodiment. The data unit 90 conforms to the IEEE 802.11n Standard, occupies a 20 MHz band, and is designed for “Greenfield” situations, i.e., when the WLAN does not include any client stations that conform to the IEEE 802.11a Standard but not to the IEEE 802.11n Standard. The data unit 90 includes a preamble having a high throughput Greenfield short training field (HT-GF-STF) 91, a first high throughput long training field (HT-LTF1) 92, a HT-SIG 93, the second high throughput long training field (HT-LTF2) 94, and a data payload or portion 95.

It is noted that a length of the data portion of each of the above data units discussed in FIGS. 2A-2C may be variable based on factors such as standards compatibility and/or type of encoding. For example, for a legacy compatible data unit, a number of octets included in the data portion may range from zero to 4095 octets, and for a high throughput compatible data unit using BCC (Binary Convolutional Codes) encoding, a number of octets included the data portion may range from zero to 65,535, where a length of zero (i.e., null data packet or “NDP”) indicates a data unit used for sounding purposes.

For a data unit that conforms to a midamble protocol, such as the IEEE 802.11ac Standard according to an embodiment, and that includes a very long data payload or portion (e.g., greater than 65,535 octets), and/or is used in situations such as when a channel is particularly noisy or in other similar situations, refining channel calibration more than once during the reception of the single data unit may be beneficial. Accordingly, one or more midambles are included within the data portion of the data unit, i.e., each midamble is adjacent to data from the payload at both the beginning of the midamble and the end of the midamble. Each midamble includes one or more OFDM symbols that include calibration information, at least a part of which may be used for one or more of retraining AGC, channel training or estimation, refining frequency synchronization or carrier frequency offset (CFO), calculating a steering matrix or other parameters used in beamforming, adapting to the link, sounding, etc.

To illustrate, FIG. 3 is a diagram of an embodiment of a single OFDM data unit 100. The single data unit 100 includes a preamble 102 and a data payload or portion 105 in which midambles 108 a, 108 b, and 108 c are included. The preamble 102 has a format suitable for use in WLANs, according to an embodiment. In one example, the preamble 102 has a format that is compatible for use in a WLAN that includes one or more client stations that support very high throughput data units, e.g., data units that include very long data portions or that conform to the IEEE 802.11ac Standard. Although three midambles 108 are illustrated in FIG. 3, in other embodiments and/or scenarios, there may be a different number of midambles, such as one, two, four, five, six, etc.

Each midamble 108 a-108 c includes one or more OFDM symbols, and each midamble 108 a-108 c is included at every N_(d) OFDM symbols of the data portion 105, where d is an integer. In this manner, the data portion is divided into equally-sized portions 105 a, 105 b and 105 c. According to an embodiment, each midamble 108 a-108 c has a format generally similar to the preamble 102 (e.g., a VHT-STF and one or more VHT-LTFs), however, typically each midamble 108 a-108 c has a format corresponding to a subset (either in form, values, size, and/or some other characteristic) of the preamble 102. For example, each midamble 108 a-108 c may correspond to only a VHT-STF, to a portion of the VHT-STF, to a subset of one or more VHT-LTFs as compared to the preamble 102, or to a portion of one or more the VHT-LTFs of the preamble.

As the format of each midamble 108 a-108 c generally corresponds to the format of the preamble 102 or subset thereof, according to an embodiment, a mathematical model that describes the generation of the PHY preamble 102 is briefly considered to provide context for a subsequent discussion describing the generation of the PHY midamble 108. In an embodiment, a training field VHT-LTF of the preamble 102 is defined as a finite sequence of values (e.g., “1, 1, −1, −1, 1, . . . 1, 1”). For each sub-carrier used in the OFDM mode, an instance of the VHT-LTF in a block m is mapped to a set of space-time streams using a matrix P which, in some embodiments, is defined separately for each block. Each block is thus used to train or estimate a certain number of space-time streams. For example, if data is transmitted via six space-time streams (i.e., N_(STS)=6), and the VHT-LTFs are grouped into a first block m₁ of four VHT-LTFs and a second block m₂ of two VHT-LTF, matrices P_(VHTLTF) ^(M1) for block m₁ and P_(VHTLTF) ^(M2) for block m₂ can be defined as

${P_{VHTLTF}^{M\; 1} = \begin{bmatrix} 1 & {- 1} & 1 & 1 \\ 1 & 1 & {- 1} & 1 \\ 1 & 1 & 1 & {- 1} \\ {- 1} & 1 & 1 & 1 \end{bmatrix}},{P_{VHTLTF}^{M\; 2} = \begin{bmatrix} 1 & 1 \\ 1 & {- 1} \end{bmatrix}}$ It is noted that, in this embodiment, each of the matrices P_(VHTLTF) ^(M1) and P_(VHTLTF) ^(M2) is a Hadamard matrix. In an embodiment, P_(VHTLTF) ^(M1) and P_(VHTLTF) ^(M2) are portions of a larger matrix P. It is further noted that the use of the matrix P in the preamble 102 results in training or estimating every sub-carrier for every space-time stream.

In one such embodiment, a matrix P used for eight VHT-LTFs has eight rows and eight columns. In an embodiment, each element of P is +1 or −1. In another embodiment, each element of P is a complex number (e.g., a Discrete Fourier Transform matrix is used as P). In another embodiment, some elements of P are integers other than +1 or −1.

As each VHT-LTF in one of the blocks is generated, a separate column of the corresponding matrix P is used to map the values to space-time streams. For example, the first column of the matrix P_(VHTLTF) ^(M1) is applied to each value in the sequence defining the first instance of VHT-LTF of the block m₁, the second column of the matrix P_(VHTLTF) ^(M1) is applied to each value in the sequence defining the second instance of VHT-LTF of the block m₁, etc. In an embodiment, each instance of VHT-LTF is an OFDM symbol. Similarly, the first column of the matrix P_(VHTLTF) ^(M2) is applied to each value in the sequence defining the first instance of VHT-LTF of the block m₂, and the first column of the matrix P_(VHTLTF) ^(M2) is applied to each value in the sequence defining the second instance of VHT-LTF of the block m₂.

In at least some of the embodiments, a frequency-domain Cyclic Delay Diversity (CDD) matrix D is applied to each of the resulting space-time streams of the OFDM-MIMO channel to avoid undesirable beamforming effects, for example. Application of the CDD matrix is equivalent to introducing linear phase shifts over different sub-carriers of OFDM in at least some embodiments. In an embodiment, separate matrices D_(M1) and D_(M2) are used for each of the blocks m₁ and m₂ as well as for one or several short training fields VHT-STFs and the data portion of the data unit, if included.

The space-time streams are then mapped to transmit chains of the transmitting device, each of which is associated with a corresponding transmit antenna. In general, the number of transmit antennas N_(TX) is greater than or equal to the number of space-time streams N_(STS). In some embodiments, separate spatial mapping matrices Q_(M1) and Q_(M2) are defined for the blocks m₁ and m₂. In an embodiment, the matrices Q_(M1) and Q_(M2) are portions of a matrix Q that has N_(TX) columns (i.e., as many columns as transmit antennas), with each row corresponding to a space-time stream. To continue with the example introduced above, in the N_(STS)=6 configuration with two blocks of 4 and 2 VHT-LTFs respectively, the overall matrix Q has N_(TX) rows and N_(STS) columns, Q_(M1) corresponds to the first four columns of Q, and Q_(M2) corresponds to the last two columns of Q.

In general, a MIMO channel between a transmitting device equipped with N_(TX) transmit antennas (and, therefore, N_(TX) transmit chains) and a receiving device equipped with N_(RX) receive antennas can be represented by a matrix H having N_(RX) rows and N_(TX) columns. In the example considered above, a device receives the signal s(k) transmitted in the blocks m₁ and m₂ over the channel H^(k) associated with a carrier k, N_(RX) receive antennas, and N_(TX) transmit antennas as:

$\begin{matrix} \begin{matrix} {x_{m\; 1}^{k} = {H^{k}Q_{{1:N_{TX}},{1:N_{{STS\_ M}1}}}^{k}D_{N_{STS}}^{k}}} \\ {P_{{1:N_{{STS\_ M}1}},{1:N_{VHTLTF}}}{s(k)}\mspace{14mu}{and}} \end{matrix} & \left( {{Eq}.\mspace{14mu} 1} \right) \\ {\begin{matrix} {x_{m\; 2}^{k} = {H^{k} Q_{{1:N_{TX}},{{N_{{STS\_ M}1} + 1}:{N_{{STS\_ M}1} + N_{{STS\_ M}2}}}}^{k}}} \\ {D_{N_{{STS\_ M}2}}^{k} P_{{{1:N_{{STS\_ M}2}},{1:N_{VHTLTF}}}}{s(k)}} \end{matrix}} & \left( {{Eq}.\mspace{14mu} 2} \right) \end{matrix}$ where N_(STS) _(—) _(M1) is the number of space-time streams trained or estimated in the block m₁, N_(STS) _(—) _(M2) is the number of space-time streams trained or estimated in the block m₂. In Eqs. 1 and 2, the notation X_(M:N) indicates a matrix consisting of columns M through N of matrix X.

Thus, the receiving device can use the two received signals, each corresponding to a respective block of training fields VHT-LTFs, to generate estimates H_(EST) _(—) _(M1) ^(k) and H_(EST) _(—) _(M2) ^(k) of portions of the channel that can be combined to generate an estimate H_(EST) ^(k) of the channel H^(k): H _(EST) ^(k) =[H _(EST) _(—) _(M1) ^(k) H _(EST) _(—) _(M2) ^(k)]  (Eq. 3)

In particular, the matrix P (or the corresponding block-specific matrices) is applied to the signal associated with a preamble to train the receiving device, the receiving device inverts the matrix P when the signal x is received to estimate the channel H. Thus, upon undoing the frequency domain transformation corresponding to the CDD matrix D, the estimated channel H_(EST) ^(k) on the carrier k is given by:

$\begin{matrix} \begin{matrix} {H_{EST}^{k} = \left\lfloor {H^{k}Q_{{1:N_{TX}},{1:N_{{STS\_ M}1}}}^{k}} \right.} \\ {\left. {H^{k}Q_{{1:N_{TX}},{1:{{N_{{STS\_ M}1} + 1}:{N_{{STS\_ M}\; 1} + N_{{STS\_ M}2}}}}}^{k}} \right\rfloor = {H^{k}Q^{k}}} \end{matrix} & \left( {{Eq}.\mspace{14mu} 4} \right) \end{matrix}$

Turning back to FIG. 3, a format of each midamble 108 a-108 c generally corresponds to a format the preamble 102 or a subset of the format of the preamble 102 as follows. Generally, a training signal (e.g., signal used for channel estimation) or pilot P_(i) _(STS) _(,n) ^((k)) is transmitted on the k-th sub-carrier for the n-th OFDM training symbol at the i_(STS)-th space-time stream. The pilots or training signals across all space-time streams and sub-carriers of the channel are spread over time and frequency using a channel training or pilot matrix P^((k)), where k is an index of the k-th sub-carrier or group of carriers. Thus, in one embodiment, the format of each midamble 108 a-108 c is expressed as where s(k) is the OFDM training symbol at the k-th sub-carrier. It should be noted that each different midamble 108 a-108 c within a single data unit 100 need not (but in some cases, may) have the same format. The pilot matrix P^((k)) each midamble 108 a-108 c is not constrained to only the examples discussed herein. For example, in other embodiments, the pilot matrix P^((k)) is a suitable matrix such as a unitary/orthogonal matrix. Furthermore, although not shown in FIG. 3, in some embodiments, the lengths of the data portions 105 a, 105 b and 105 c are not equivalent. For example, two or more of the data portions 105 a, 105 b and 105 c have different lengths in some embodiments and/or scenarios.

In some embodiments of the single data unit 100, the preamble 102 includes an indication that one or more midambles 108 a-108 c are included in the single data unit 100. The indication may be included in the SIG field or in some other suitable field of the preamble 102. In one embodiment, the indication is a subfield of the preamble 102 and also indicates a position or location of a midamble within the data payload portion. The subfield corresponds to the value N_(d) described in FIG. 3, in one example. In another embodiment, if a location of the midamble or midambles is fixed within the data unit 100, the indication is a flag, bit or other indicator in the preamble 102 that signals the existence of a single midamble, or the indication is an indication of the number of midambles that are included in the single data unit 100, but the location(s) of the midamble(s) is (are) assumed. For example, a communication protocol defines fixed locations, in one embodiment.

FIG. 4 is a diagram of an example generalized format of a midamble 120, such as one of the midambles 108 a, 108 b or 108 c of FIG. 3. The midamble 120 includes a VHT-STF field 122 and one or more VHT-LTF fields 125. The VHT-STF field 122 and the VHT-LTF field(s) 125 may be of a similar format as corresponding VHT-STF and VHT-LTF fields in the preamble 102 of the single data unit 100. The dashed lines indicate that, in some embodiments, only the VHT-STF 122 is included in the midamble 120, such as when automatic gain control retraining or synchronization is desired. In some embodiments, less than all (e.g., only one) or all of the VHT-LTF fields 125 are included in the midamble 120, such as when channel training, channel estimation, or finer synchronization is desired. In the following sections, the disclosure will refer back to the generalized format of the midamble 120 illustrated in FIG. 4 for clarity.

If, for a particular single data unit, every sub-carrier is desired to be trained or estimated for every space-time stream as in the preamble 102, then P^((k)) of a particular midamble of the single data unit is equivalent to P^((k)) of the preamble 102. For example, when a number of space-time streams N_(STS)=2, and every sub-carrier is trained or estimated for every space-time stream, then the particular midamble may be expressed as:

$\begin{matrix} {P^{(k)} = {\begin{bmatrix} 1 & 1 \\ 1 & {- 1} \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k}}}} & \left( {{Eq}.\mspace{14mu} 5} \right) \end{matrix}$ In this example, the format of the midamble is equivalent to the format of the preamble of the particular single data unit.

In another example illustrating the format of a midamble being equivalent to the format of a preamble, consider a case where a number of space-time streams N_(STS)=4 and every sub-carrier is desired to be trained or estimated for every space-time stream. In this example, the midamble is of the generalized format 120 of FIG. 4, and a detailed view of an example VHT-LTF field 125 is shown in FIG. 5, in accordance with an embodiment. For the example VHT-LTF field 130 of FIG. 5, reference 132 corresponds to N_(STS)=1 and N_(VHTLTF)=1, reference 134 corresponds to N_(STS)=2 and N_(VHTLTF)=2, reference 136 corresponds to N_(STS)=3 and N_(VHTLTF)=3, and reference 138 corresponds to N_(STS)=4 and N_(VHTLTF)=4.

For some cases, though, channel calibration based on a midamble does not need to be as comprehensive as channel calibration based on the preamble. Smaller channel adjustments and/or channel adjustments at a slower rate may be acceptable or even desired during the transmission of the data payload, so the format of the midamble need not be as robust as the format of the preamble. In these cases, information for training or channel estimating may be interleaved across sub-carriers (tone interleaving) and/or may be interleaved across space-time streams (space-frequency interleaving) so that not every sub-carrier is trained or estimated for every space-time stream. In particular, if a subset of sub-carriers and/or a subset of space-time streams is desired to be trained or estimated, then a format of P^((k)) of a midamble is a subset of the format of P^((k)) of the preamble 102.

Tone interleaving allows a subset of sub-carriers to be trained or estimated across space-time streams. For tone interleaving, the values of P^((k)) of a midamble urea subset of the values of P^((k)) of the preamble 102. In one example, if a maximum number of space-time streams N_(STS)=2 and every other sub-carrier is trained or estimated for a particular space-time stream, then the midamble of a single data unit may be expressed as:

$\begin{matrix} {{P^{(k)} = {\begin{bmatrix} 1 \\ 0 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k}}}},{P^{({k + 1})} = {\begin{bmatrix} 0 \\ 1 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k + 1}}}},{P^{({k + 2})} = {\begin{bmatrix} 1 \\ 0 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k + 2}}}},\ldots\mspace{14mu},} & \left( {{Eq}.\mspace{14mu} 6} \right) \end{matrix}$ so that a single VHT-LTF symbol is used to train or estimate two space-time streams, e.g., the single symbol is interleaved across two space-time streams. Accordingly, for each tone or sub-carrier k, the values and the sizes of the midamble P^((k)) as expressed in Equation 6 are a subset of the values and sizes of the preamble P^((k)) expressed in Equation 5. Referring to FIG. 4 with respect to this embodiment, the VHT-LTF field 125 of the midamble 120 corresponds to the matrix P of Equation 6. Of course, this embodiment of tone interleaving is not limited to only N_(STS)=2 and to two symbols, as any number of symbols may be used to train any number of space-time streams.

In another embodiment of tone interleaving, a subset of sub-carriers is trained or estimated across space-time streams, but by use of a maximal number of VHT-LTF fields. In an example, if N_(STS)=2 and every other sub-carrier is trained or estimated for every space-time stream, then:

$\begin{matrix} {{P^{(k)} = {\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k}}}},{P^{({k + 1})} = {\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k + 1}}}},{P^{({k + 2})} = {\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}{\mathbb{e}}^{{j\theta}_{k + 2}}}},\ldots} & \left( {{Eq}.\mspace{14mu} 7} \right) \end{matrix}$ Accordingly, for each tone or sub-carrier, the values of Equation 7 are a subset of the values of P^((k)) of the preamble 102 expressed in Equation 5. Referring to FIG. 4 with respect to this embodiment, the VHT-LTF field 125 of the midamble 120 corresponds to the matrix P of Equation 7. Of course, this embodiment of tone interleaving is not limited to only N_(STS)=2 and to two symbols, as any number of symbols may be used to train or estimate any number of space-time streams.

Space-frequency interleaving allows one OFDM symbol in a midamble to be interleaved over all space-time streams over all sub-carriers. A pictorial representation of one embodiment of space-frequency interleaving is illustrated in FIG. 6. In FIG. 6, which illustrates an example mapping 140 of training signals to sub-carriers or tones, according to an embodiment, the maximum number of space-time streams N_(STS)=2. A first tone 142 a (i.e., k=1) is a training signal for a first space-time stream; a second tone 145 a (i.e., k=2) is a training signal for a second space-time stream; a third tone 142 b (i.e., k=3) is a training signal for the first space-time stream; a fourth tone 145 b (i.e., k=4) is a training signal for the second space-time stream; and so on as illustrated by references 142 c, 145 c, 142 d and 145 d. The N_(STS)-th (or N_(STS+1)-th tone, in the case of an even/odd discrepancy between N_(STS) and the maximum number of tones) is a training signal for the N_(STS)-th space-time stream. Thus, in space-frequency interleaving, a subset of the tones of the of preamble P^((k)) as represented by Equation 5 is transmitted for each space-time stream at a particular instance in time, and the N_(STS) space-time streams are trained or estimated continuously over all subsequent tones with one OFDM symbol. In an example, each space-time stream is separately trained at a different instance in time with a different sub-carrier of the OFDM symbol until, over time, every space-time stream has been trained with every different sub-carrier. Of course, other embodiments of space-frequency interleaving may include more than one OFDM symbol used for training and/or may have a different maximum number of space-time streams.

In some embodiments, a midamble (such as the one or more midambles 108 a-108 c shown in FIG. 3) is used for sounding after transmission of the preamble and during the transmission of the data payload of a single data unit or packet. In one example, midamble-based sounding during the transmission of a data payload is enabled or performed when an updated channel estimate is desired at a beamformee, when feedback is to be provided to a beamformer, or when link adaptation is desired. In some embodiments, the format of a sounding midamble is represented by the midamble 120 of FIG. 4, with the VHT-LTF(s) 125 formatted in an NDP (Null Data Packet) sounding frame format similar to that used in a preamble 102. In other embodiments, the VHT-LTF(s) 125 of a sounding midamble are defined in a staggered sounding format that includes both data and extension VHT-LTF(s), such as described in U.S. patent application Ser. No. 12/750,158 filed on May 28, 2010, and entitled “PHY Frame Formats in a System with More than Four Space-Time Streams,” the entire disclosure of which is hereby incorporated by reference herein.

In some embodiments, sounding midambles are tone interleaved. For instance, for a sounding midamble with a staggered sounding format, tone interleaving is defined separately in the data VHT-LTF(s) and the extension VHT-LTF(s). In the case of a sounding midamble with an NDP format, tone interleaving is defined only in the data portion of the VHT-LTF(s).

The presence of a sounding midamble in a data unit is signaled in the preamble 102 of a data unit 100, such as by a bit, flag or other indicator, in some embodiments. Additionally or alternatively, a position of a sounding midamble may be indicated in the preamble 102, in some embodiments. The indicator(s) of one or more sounding midamble(s) may be the same as or different from the indicator(s) of other types of midambles. One or more sounding midambles may be included in a single data unit 100, but a single data unit 100 is not required to include any sounding midambles.

FIG. 7 is a block diagram of an example subsystem 300 of a network interface that is utilized in the network interface 16 and/or the network interface 27, according to an embodiment. The subsystem 300 is configured to generate midambles for inclusion in data units.

A media access control (MAC) unit 304 corresponding to a client device (sometimes referred to herein as a “user”) provides a data stream to a PHY unit 308. The PHY unit 308 is configured to generate PHY data units, payloads for data units, and one or more midambles for inclusion in the payload of each of at least some data units, and to generate one or more transmit signals including the one or more midambles. The one or more transmit signals are provided to a transceiver (not shown) for transmission via one or more transmit antennas (not shown), according to an embodiment.

In some embodiments, the single space-time stream is one of a plurality of space-time streams generated by the PHY unit 308, and the PHY unit 308 also orthogonally multiplexes data for the multiple client devices on the one or more other space-time streams. In these embodiments, the PHY unit 308 generates the one or more transmit signals also using the one or more other space-time streams.

In some embodiments, the subsystem 300 may by configured to orthogonally multiplex data for multiple client devices onto a single space-time stream without using channel state information (CSI), such as described in U.S. patent application Ser. No. 12/772,783 filed on May 3, 2010 and entitled “Open Loop Multiple Access for WLAN,” the entire disclosure of which is hereby incorporated by reference. In one example, the MAC unit 304 may include a plurality of MAC sub-units corresponding to different client devices or users, where each MAC sub-unit provides an independent data stream to the PHY unit 308. In another example, the MAC unit 304 may generate separate MAC protocol data units (MPDUs) corresponding to different client devices and aggregate the separate MPDUs into an aggregated MPDU (A-MPDU) which is provided to the PHY unit 308.

The PHY unit 308 includes a midamble generator 312 to generate one or more midambles of a PHY data unit, where each midamble includes one or more OFDM symbols that include calibration information for estimating or sounding at least a portion of the communication channel. The midamble generator 312 is configured to generate the one or more OFDM symbols in accordance with embodiments of the methods and systems described herein. In one example, the midamble generator 312 generates more than one midamble for a particular single data unit. In other examples, the midamble generator 312 generates different sets of pilot coefficients for tone interleaving, or generates different OFDM symbols for space-time interleaving. In some embodiments, the midamble generator 312 is a same entity as a preamble generator (not shown), such as the preamble generator described in aforementioned U.S. patent application Ser. No. 12/750,158. Generally, but not necessarily, the midamble generator 312 may operate in accordance with a preamble generator to include, in the preamble of a particular single data unit, an indication of an existence and/or of a location of the midamble in the single data unit.

Now referring to FIG. 8, an example PHY midamble generator 450 operates in the PHY unit 20 of the device 14 illustrated in FIG. 1, and/or in the PHY unit 29 of the device 25-1, according to an embodiment. The PHY midamble generator 450 includes both a short training symbol (STS) generator 452A to generate symbols of a VHT-STF field and long training symbol (LTS) generator 452B to generate symbols of a VHT-LTF field. In some embodiments (not shown), the PHY midamble generator 450 may include only a STS generator 452A or only an LTS generator 452B. For ease of discussion and clarity, FIG. 8 is described below with respect to using only the LTS generator 452B for LTF sequences applied to VHT-LTF blocks, however, it is understood that the description of FIG. 8 may apply to embodiments of the PHY midamble generator 450 that use only the STS generator 425A to generate STF sequences applied to VHT-STF blocks, and to embodiments of the midamble generator 450 that use both the STS generator 452A for STF sequences applied to VHT-STF blocks and the LTS generator 452B for LTF sequences applied to VHT-LTF blocks.

In an embodiment, the LTS generator 452B generates (or stores) a suitable sequence of symbols (e.g., bits) such as a similar or identical LTF sequence defined in the IEEE 802.11n Standard. The sequence of symbols is supplied to a P matrix mapper 454 that maps symbols to space-time streams. The P matrix mapper 454 applies a mapping scheme in accordance with a selection signal generated by a block controller 456. In an embodiment, the block controller 456 selects the P matrix of a particular dimensionality to be applied to a particular block of VHT-LTFs. In one example, the block controller 456 selects a four-by-four matrix P₁ to be applied to a block of four VHT-LTFs and a two-by-two matrix P₂ to be applied to a block of two VHT-LTFs.

The outputs of the P matrix mapper 454 include one or more midambles 455 that are input to a switch or multiplexer 465. In an embodiment, the block controller 456 additionally controls the switch or multiplexer 465 to alternate reception and/or generation of the one or more midambles 455 from the P matrix mapper 454 and a next portion of a data payload via a line 462 from a data portion generator 463, such as illustrated in FIG. 3. (Of course, as previously discussed, in some embodiments, only a single midamble is generated for a single data unit by the midamble generator 450.) Additionally, although only a single arrow is illustrated in FIG. 8 as representing the one or more midambles 455 between the P matrix mapper 454 and the switch 465, this is only for clarity's sake and it is understood that the one or more midamble(s) 455 are delivered from the P matrix mapper 454 to the input of the switch 465 via multiple outputs corresponding to multiple sub-carriers (e.g., as represented by P^((k))).

The output from the switch 465 is coupled to respective inputs of a CDD (Cyclic Delay Diversity) generator 458 that applies frequency cyclic delay diversity values to the corresponding space-time streams. In an embodiment, the block controller 456 additionally controls the selection of values utilized by the CDD generator 458. As indicated above, the application of a CDD matrix D in some embodiments is equivalent to applying linear phase shifts over different sub-carriers of OFDM. Thus, the CDD transformation is applied to both midamble and data portions of data units, but utilizes the P matrix only for training or sounding in midamble portions.

The outputs of the CDD generator 458 are coupled to a Q matrix mapper 460 that performs spatial mapping of space-time streams to transmit chains 466, each transmit chain corresponding to a respective transmit antenna. Similar to the P matrix mapper 454, the Q matrix mapper 460 is communicatively coupled to the block controller 456 that selects an appropriate matrix Q for each block of VHT-LTFs. In various embodiments, the PHY midamble generator 450 generates the midambles of data units illustrated in FIGS. 3-4.

In an embodiment, the modules 454-460 and 465 together operate as a spatial mapping module that applies different spatial mapping to each training or sounding field. In particular, the module 454 operates as a symbol mapping module that maps symbols to space-time streams that are subsequently mapped to transmit chains. Additionally, it should be noted that although the block controller 456 is illustrated in FIG. 8 as being included in the midamble generator 450, at least some portions of the block controller 456 may be included in (and/or may control) other entities of a transmitter, such as the switch 465, the CDD generator 458, the Q matrix mapper 460, and/or other entities.

FIG. 9 illustrates an example method 500 for generating a single data unit for transmission via a communication channel, according to an embodiment. In various embodiments, the method 500 operates in accordance with embodiments of any of the systems and apparatuses of FIGS. 1, 7 and 8; the data units of FIGS. 2C and 3; and/or the midambles described in conjunction with FIGS. 3-5. In one embodiment, the PHY unit 20 (FIG. 1) and the PITY unit 29 (FIG. 1), are configured to implement the method 500.

Block 502 of the method 500 includes generating a preamble of a single data unit. The preamble may be of format that is compatible for use in a WLAN that includes legacy devices, high throughput devices, and/or very high throughput devices. At block 505, a first portion of a data payload of the single data unit is generated.

At block 508, a midamble of the single data unit is generated. The midamble includes one or more OFDM symbols in a format similar to at least a portion of the preamble generated at block 502, such as the formats previously discussed herein. Typically, but not necessarily, the midamble is generated to have a format that is a subset (either in its form, values, size, and/or other characteristic) of the preamble. In particular, generating the midamble 508 includes generating the midamble based on one or more pilot matrices P^((k)) corresponding to one or more sub-carriers and to one or more space-time streams of a communication channel, where P^((k)) is a subset of one or more preamble pilot matrices of the single data unit, in an embodiment.

In some embodiments of the method 500, the block 508 includes an additional block (not shown) in which an indication of the midamble is generated, where the indication signifies the presence and/or a location of the midamble within the data portion of the single data unit. The indication of the midamble may be included in the preamble. In some embodiments, generating the indication of the midamble is performed at block 502 or by another block.

The method 500 includes interleaving at least one OFDM symbol corresponding to the midamble, in an embodiment. Interleaving includes tone interleaving, space-frequency interleaving, or both. With tone interleaving, each space-time stream is estimated or trained across a different, mutually exclusive subset of subcarriers of the communication channel. With space-frequency interleaving, each different space-time stream of a maximum set of space-time streams is trained separately at a different instance in time with each different sub-carrier over a maximum set of subcarriers.

At block 510, a second portion of a data payload is generated. At block 512, the midamble is included between the first portion of the data payload and the second portion of the data payload. In some embodiments, the first portion of the data payload and the second portion of the data payload are of equivalent lengths. In some embodiments, the first portion and the second portions of the data payload are of different lengths.

The method 500 includes transmitting the single data unit from a transmitter to a receiver, in an embodiment. In an example denoted by FIG. 1, the one or more transmit antennas 21-1, 21-2 and 21-3 transmit the single data unit over a channel denoted by a double-sided arrow to one or more of the receive antennas 34-1, 34-2 and 34-3.

In some embodiments, the method 500 includes generating an additional midamble and a third portion of the data payload, and including the midamble between the second data portion of the data payload and the third data portion of the data payload. The third portion of the data payload is of a length the same as or different from the first and/or the second portions of the data payload. If further additional midambles are desired for the single data unit, the method 500 includes generating subsequent additional midambles located between subsequent additional data payloads in a similar manner, according to some embodiments.

FIG. 10 illustrates an example method 550 of receiving a single data unit via a communication channel, according to an embodiment. The method 550 operates in accordance with embodiments of any of the systems and apparatuses of FIGS. 1, 7 and 8; the data units of FIGS. 2C and 3; the midambles described in conjunction with FIGS. 3-5, and/or the method of FIG. 9, in some embodiments. In one embodiment, the PHY unit 20 (FIG. 1) and the PHY unit 29 (FIG. 1), are configured to implement the method 550.

The method 550 includes receiving a preamble 552 of a single data unit. The preamble is of format that is compatible for use in a WLAN that includes legacy devices, high throughput devices, and/or very high throughput devices, according to an embodiment. In some embodiments, the preamble includes an indication of a midamble, where the indication signifies the presence and/or a location of the midamble between different data portions of the single data unit. The preamble (and subsequent fields of the single data unit, for that matter) are received over a channel at one or more receive antennas of a receiver, such as via receive antennas 34-1, 34-2, and 34-3 of client device 25-1 illustrated in FIG. 1.

At block 555, a receiver characteristic is updated based on the preamble. For example, if the preamble includes a VHT-STF field, the receiver uses at least a part of the contents of the preamble to detect the single data unit, to perform synchronization with the transmitter, to re-train automatic gain control, or to perform any other calibration action based on the at least a part of the contents of the VHT-STF field. In another example, if the preamble includes a VHT-LTF field, the receiver is updated to estimate the channel or to perform fine synchronization, or, in the case of a sounding packet, to update a steering matrix or perform some other action for beamforming. Generally, updating a characteristic may include updating or calculating a value of one or more parameters or stored data values, triggering an action based on some or all of the updated or calculated values, triggering an action based on some or all of the information included in the preamble, and/or generating any other response corresponding to estimating the channel and/or calibration actions or techniques to adjust some portion of the receiver based on the resulting estimate. At block 558, a first portion of a data payload of the single data unit is received.

At block 560, a midamble of the single data unit is received. The midamble includes one or more OFDM symbols in a format similar to at least a portion of the preamble received in the block 552, such as one of the formats previously discussed herein, according to an embodiment. The midamble includes a VHT-STF field and/or one or more VHT-LTF fields, in some embodiments. Typically, but not necessarily, the received midamble is of a format that is a subset (either in form, included values, size, or other characteristic) of the preamble. In one example, receiving the midamble 560 includes receiving one or more OFDM symbols corresponding to the expression P^((k))s(k), where P^((k)) is a channel estimating, pilot or a sounding matrix having at least one dimension corresponding to a maximum number of space-time streams of the communication channel, and s(k) is an OFDM symbol corresponding to the kth sub-carrier or group of sub-carriers.

At the block 562, a characteristic at the receiver is updated based on the midamble. The characteristic may be the same characteristic as was updated in the block 555, or the characteristic at the block 562 may be a different characteristic than the characteristic at the block 555. Updating the same or another characteristic at the receiver in the block 562 includes, for example, updating a characteristic at the receiver to estimate the channel or a space-time stream of the channel, to retrain automatic gain control, to refine carrier frequency offset for addressing drift, to calculate a steering matrix or otherwise perform a portion of beamforming, to adapt to a link, or to address any other desired or suitable calibration procedure of the receiver. In some situations, updating a characteristic at the receiver includes updating a characteristic to realize channel sounding. Generally, updating a receiver characteristic based on the midamble is similar to updating a receiver characteristic based on the preamble, albeit based on different information received during a different portion of the single data unit.

In some embodiments, the midamble contents indicate that not all space-time streams of a channel across all tones or sub-carriers of a channel are considered for updating. For example, if the received midamble corresponds to interleaving, only information corresponding to a subset of sub-carriers is considered for updating at the receiver, or only a subset of the maximal set of possible combinations of space-time stream-sub-carriers is considered at each instance in time for updating at the receiver. At block 562, a second portion of a data payload is received.

In some embodiments, additional midambles are received. The additional midambles are received in locations between additional portions of the data payload. One or more of the same or different characteristics of the receiver are updated based on the contents of the additional midambles.

At least some of the various blocks, operations, and techniques described above may be implemented in hardware, a processor executing firmware and/or software instructions, or any combination thereof. For instance, the midamble generator 312 may be implemented in hardware, a processor executing firmware and/or software instructions, or any combination thereof. Similarly, the STS generator 452A and/or the LTS generator 452B may be implemented in hardware, a processor executing firmware and/or software instructions, or any combination thereof. Still similarly, the P matrix mapper 454 may be implemented in hardware, a processor executing firmware and/or software instructions, or any combination thereof. Additionally, the blocks of FIGS. 9 and 10 may be implemented in hardware, a processor executing firmware and/or software instructions, or any combination thereof.

When implemented utilizing a processor executing software or firmware instructions, the software or firmware instructions may be stored in any computer readable memory such as on a magnetic disk, an optical disk, or other tangible storage medium, in a RAM or ROM or flash memory, processor, hard disk drive, optical disk drive, tape drive, etc. Likewise, the software or firmware instructions may be delivered to a user or a system via any known or desired delivery method including, for example, on a computer readable disk or other transportable, tangible computer storage mechanism or via communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared and other wireless media. Thus, the software or firmware instructions may be delivered to a user or a system via a communication channel such as a telephone line, a DSL line, a cable television line, a fiber optics line, a wireless communication channel, the Internet, etc. (which are viewed as being the same as or interchangeable with providing such software via a transportable storage medium). The software or firmware instructions may include machine readable instructions stored on a memory of other computer-readable storage medium that, when executed by the processor, cause the processor to perform various acts.

When implemented in hardware, the hardware may comprise one or more of discrete components, an integrated circuit, an application-specific integrated circuit (ASIC), etc.

While the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, changes, additions and/or deletions may be made to the disclosed embodiments without departing from the scope of the invention. 

What is claimed is:
 1. A method for generating a single data unit for transmission via a communication channel, the method comprising: generating a preamble of the single data unit; generating a first portion of a data payload of the single data unit; generating a midamble, the midamble including a product of (i) one or more pilot matrices and (ii) a corresponding at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol, the at least one OFDM symbol including calibration information, wherein the one or more pilot matrices correspond to a maximum number of space-time streams of the communication channel; generating a second portion of the data payload of the single data unit; and including the midamble between the first portion of the data payload and the second portion of the data payload.
 2. The method according to claim 1, further comprising transmitting the single data unit via a plurality of transmit antennas of a transmitter.
 3. The method according to claim 1, wherein generating the midamble comprises generating a midamble having a format corresponding to at least a portion of the preamble of the single data unit.
 4. The method according to claim 3, wherein the format of the midamble corresponds to a format of at least one of an STF (Short Training Field) of the preamble or an LTF (Long Training Field) of the preamble.
 5. The method according to claim 1, further comprising: generating an additional midamble; generating a third portion of the data payload of the single data unit; and including the additional midamble between the second portion of the data payload and the third portion of the data payload.
 6. The method of claim 1, wherein generating the preamble of the single data unit includes generating an indication of the midamble corresponding to at least one of an existence or a location of the midamble in the single data unit.
 7. The method of claim 1, wherein a length of the first portion of the data payload is equivalent to a length of the second portion of the data payload.
 8. The method according to claim 1, further comprising generating the one or more pilot matrices, the one or more pilot matrices further corresponding to one or more sub-carriers.
 9. The method according to claim 8, wherein: generating the one or more pilot matrices comprises generating one or more pilot matrices P^((k)) where: P^((k)) has at least one dimension corresponding to the maximum number of space-time streams of the communication channel; k is an index corresponding to a sub-carrier or a group of sub-carriers of the communication channel; and values of elements in P^((k)) are selected from one of: a set of values including −1, 0, and 1; a set of Fourier transform values; or a set of integers; and generating the product of the at least one of the one or more pilot matrices and the corresponding at least one OFDM symbol comprises generating P^((k))s(k), wherein s(k) is an OFDM training symbol corresponding to a kth sub-carrier or group of carriers of the communication channel.
 10. The method of claim 1, further comprising interleaving the at least one OFDM symbol.
 11. The method of claim 10, wherein interleaving the at least one OFDM symbol comprises tone interleaving the at least one OFDM symbol, including configuring, for each space-time stream corresponding to the at least one OFDM symbol, the at least one OFDM symbol to include one or more training signals for a subset of a maximum set of sub-carriers of the communication channel.
 12. The method of claim 11, wherein configuring, for each space-time stream corresponding to the at least one OFDM symbol, the at least one OFDM symbol to include the one or more training signals for the subset of the maximum set of sub-carriers comprises: configuring, for each of a first and a third space-time stream corresponding to the at least one OFDM symbol, the at least one OFDM symbol to include one or more training signals for a first subset of the maximum set of sub-carriers, and configuring, for each of a second and a fourth space-time stream corresponding to the at least one OFDM symbol, the at least one OFDM symbol to include one or more training signals for a second subset of the maximum set of sub-carriers, wherein the first subset of the maximum set of sub-carriers and the second subset of the maximum set of sub-carriers are mutually exclusive.
 13. The method of claim 10, wherein: the at least one OFDM symbol corresponds to more than one sub-carrier, and interleaving the at least one OFDM symbol comprises space-frequency interleaving the at least one OFDM symbol across a maximum set of space-time streams of the communication channel and a maximum set of sub-carriers of the communication channel so that each different space-time stream of the maximum set of space-time streams is separately trained at a different instance in time with each different sub-carrier of the at least one OFDM symbol.
 14. The method of claim 13, further comprising training, in sequential order, at least one of: members of the maximum set of space-time streams or members of the maximum set of sub-carriers.
 15. A method of receiving a single data unit via a communication channel, the method comprising: receiving a preamble of the single data unit; updating a first characteristic based on the preamble; receiving a first portion of a data payload of the single data unit; receiving a midamble of the single data unit, the midamble including a product of (i) one or more pilot matrices and (ii) a corresponding at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol, the at least one OFDM symbol including calibration information, wherein the one or more pilot matrices correspond to a maximum number of space-time streams of the communication channel; receiving a second portion of the data payload; and wherein the method further comprises at least one of 1) updating the first characteristic based on the midamble, or 2) updating a second characteristic based on the midamble.
 16. The method according to claim 15, wherein the single data unit is received via the communication channel by one or more receive antennas of a receiver.
 17. The method of claim 15, wherein (i) updating the first characteristic, (ii) further updating the first characteristic, and (iii) updating the second characteristic each correspond to at least a portion of at least one of: retraining automatic gain control (AGC); training or estimating the communication channel; refining frequency synchronization, including refining carrier frequency offset (CFO); beamforming, including calculating a steering matrix; or adapting to a link.
 18. The method of claim 15, wherein receiving the preamble of the single data unit comprises receiving an indication of at least one of an existence or a location of the midamble in the single data unit.
 19. The method of claim 15, wherein receiving the midamble comprises receiving a midamble based on: P^((k))s(k) wherein: P^((k)) is a channel training or a sounding matrix having at least one dimension corresponding to the maximum number of space-time streams of the communication channel; values of elements in P^((k)) are selected from one of: a set of values including 1, 0, and 1; a set of Fourier transforms; or a set of integers; k is an index of a sub-carrier or group of sub-carriers of the communication channel; and s(k) is an OFDM symbol corresponding to a kth sub-carrier or group of sub-carriers.
 20. The method of claim 15, wherein at least a portion of a format of the midamble corresponds to at least one of: at least a portion of an STF (Short Training Field), at least a portion of one or more LTFs (Long Training Fields) corresponding to channel estimation, or at least a portion of one or more LTFs corresponding to sounding.
 21. A processor to generate data units for transmission via a plurality of antennas, the processor including a midamble generator and the processor configured to: generate a preamble of a single data unit; generate a first portion of a data payload of the single data unit; generate, via the midamble generator, a midamble of the single data unit, wherein the midamble includes a product of (i) one or more pilot matrices and (ii) a corresponding at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol, wherein the at least one OFDM symbol includes calibration information, and wherein the one or more pilot matrices correspond to a maximum number of space-time streams of a communication channel; generate a second portion of the data payload of the single data unit; and include the midamble between the first portion of the data payload and the second portion of the data payload.
 22. The processor according to claim 21, wherein the midamble generator is configured to: determine a plurality of pilot coefficients of one or more pilot matrices P^((k)) having at least one dimension corresponding to the maximum number of space-time streams that can be transmitted over the communication channel, wherein: P^((k)) is a channel training or a sounding matrix corresponding to a kth sub-carrier or group of carriers of the communication channel, and values of the plurality of pilot coefficients are selected from one of: a set of values including −1, 0, and 1; a set of Fourier transforms; or a set of integers; and generate the midamble, wherein the at least one OFDM symbol of the midamble corresponds to P^((k)).
 23. The processor of claim 22, wherein the midamble corresponds to: P^((k))s(k), wherein s(k) corresponds to an OFDM training symbol at the kth sub-carrier or group of carriers.
 24. The processor of claim 22, wherein at least some of the values of the plurality of pilot coefficients are selected based on a use in at least one from a group of calibration actions including: retraining automatic gain control (AGC); training or estimating the communication channel; refining frequency synchronization, including refining carrier frequency offset (CFO); beamforming, including calculating a steering matrix; and adapting to a link.
 25. The processor of claim 21, wherein at least one of (i) the midamble generator and (ii) the processor is configured to perform at least one of tone interleaving or space-frequency interleaving, wherein: tone interleaving comprises determining a first set of pilot coefficients for a first subset of a maximum set of sub-carriers of a communication channel and determining a second set of pilot coefficients for a second subset of the maximum set of sub-carriers, wherein the first set of pilot coefficients and the second set of pilot coefficients are mutually exclusive, and the first subset of the maximum set of sub-carriers and the second subset of the maximum set of sub-carriers are mutually exclusive; and space-frequency interleaving comprises training each different space-time stream of a maximum set of space-time streams separately at a different instance in time with each different sub-carrier of a maximum set of subcarriers.
 26. The processor of claim 21, wherein the preamble of the single data unit includes an indication of the midamble, and the indication of the midamble corresponds to at least one of an existence or a location of the midamble in the single data unit.
 27. The processor of claim 21, wherein: the physical layer processor is further configured to generate, via the midamble generator, an additional midamble and to include the additional midamble between the second portion of the data payload and a third portion of the data payload; and the first, the second and the third portions of the data payload have equivalent lengths.
 28. The processor of claim 21, further configured to: receive a different preamble of a different single data unit; update a first characteristic based on the different preamble; receive a first portion of a different data payload of the different single data unit; receive a different midamble of the different single data unit including at least one other OFDM symbol that includes corresponding calibration information; at least one of: further update the first characteristic based on the different midamble, or update a second characteristic based on the different midamble; and receive a second portion of the different data payload.
 29. The processor of claim 28, wherein (i) updating the first characteristic, (ii) further updating the first characteristic, and (iii) updating the second characteristic each correspond to at least a portion of at least one of: retraining automatic gain control (AGC); training or estimating a communication channel; refining frequency synchronization, including refining carrier frequency offset (CFO); beamforming, including calculating a steering matrix; or adapting to a link.
 30. A processor configured to: update a first characteristic based on a preamble of a single data unit received via a plurality of antennas; wherein the processor is configure to at least one of 1) update the first characteristic based on a midamble of the single data unit located between a first portion of a data payload of the single data unit and a second portion of the data payload, or 2) update a second characteristic based on the midamble; wherein the midamble includes a product of (i) one or more pilot matrices and (ii) a corresponding at least one OFDM (Orthogonal Frequency Division Multiplexing) symbol, wherein the at least one OFDM symbol includes calibration information, and wherein the one or more pilot matrices correspond to a maximum number of space-time streams of a communication channel.
 31. The processor of claim 30, wherein the processor is configured to, based on the midamble, at least one of: retrain automatic gain control (AGC); train or estimate a communication channel; refine frequency synchronization, including refining carrier frequency offset (CFO); beamform, including calculate a steering matrix; or adapt to a link.
 32. The processor of claim 30, wherein processor is configured to determine at least one of an existence or a location of the midamble in the single data unit based on an indicator in the preamble of the single data unit.
 33. The processor of claim 30, wherein the processor is configured to apply: P^((k))s(k) during reception of the midamble; wherein: P^((k)) is a channel training or a sounding matrix having at least one dimension corresponding to the maximum number of space-time streams of the communication channel; values of elements in P^((k)) are selected from one of: a set of values including 1, 0, and 1; a set of Fourier transforms; or a set of integers; k is an index of a sub-carrier or group of sub-carriers of the communication channel; and s(k) is an OFDM symbol corresponding to a kth sub-carrier or group of sub-carriers.
 34. The processor of claim 30, wherein at least a portion of a format of the midamble corresponds to at least one of: at least a portion of an STF (Short Training Field), at least a portion of one or more LTFs (Long Training Fields) corresponding to channel estimation, or at least a portion of one or more LTFs corresponding to sounding. 